AP计算机科学A复习:Unit 7 – ArrayList 动态数组

Unit 7 – ArrayList 动态数组 上个单元已经介绍过最简单的数组的使用方法。你可能已经发现,上个单元里学习的数组因为需要在定义的同时就确定存储位置的数量,且定义好后不可修改,在很多情况下并不方便。 因此,这一个单元就会介绍另一种特别的数组 —— ArrayList,这种数组的长度是动态的,所以你即使在程序运行中也可以增加、删减存储位置的数量以及修改各个位置里存储的数据。 U7.1 Introduction to ArrayList  创建 ArrayList 的语法和创建一般的 object 基本一致,是这样的: 用上面的这个语句就创建好了一个名字叫做 a 的 ArrayList。当然这个 a 现在还是空的,所以你可以使用「add( ) 」来给 a 添加数据。不需要在意是否有足够的存储空间,因为添加数据的同时 ArrayList 就会根据需要自动开设新的存储位置: 你需要注意到,与前一个单元学习的数组不同的是,刚才在定义 ArrayList 的时候我们并没有明确数据的类型。因此在上面这段程序我每一次添加的数据并不需要符合数据类型的要求,比如这里的第一个数据可以是 String,第二个是 int,而第三个又是 double 类型的数据。 不过,不限制存入数据的类型虽然方便,有时候却导致无法及时发现程序的错误。比如我想使用一个全是 double 类型的数组进行计算,如果不限制存入数据的类型就很可能不小心混入整数类型的数据,从而在运算时产生诸如「1/3 = 0」这样的错误。 所以,ArrayList 也提供了解决这个问题的方法,即「限制存入 ArrayList 的数据类型」。你可以在创建 ArrayList 的同时只允许特定类型的数据存入,这样写(第 6 行): 这样,当存入的数据不符合我们设定的限制时,程序就会像上面这样报错。一般的,建议在使用 ArrayList 的时候尽量指明存储数据的类型,除非你真的一定肯定必须要拿它存储不同类型混杂的数据。 U7.2 ArrayList … Continue reading AP计算机科学A复习:Unit 7 – ArrayList 动态数组